// 金服平台的域名地址
let baseUrl = "https://szjr.szjrfw.com"; // 线上
import des from "./des";
import CryptoJS from "../../miniprogram_npm/crypto-js/crypto-js";
// notSecret位false代表需要加密，否则不需要加密
function apis (
  url,
  data = {},
  method = "GET",
  notSecret = false,
  otherHeader = {}
) {
  return new Promise(function (resolve, reject) {
    // 处理权限的页面
    // if (!data.needToken) {
    //   if (!wx.getStorageSync("token")) {
    //     wx.switchTab({
    //       url: "/pages/personalCenter/personalCenter",
    //     });
    //     resolve({})
    //     return
    //   }
    // }

    // 1、加密的处理
    let dataInfos = "";
    if (notSecret) {
      dataInfos = data;
    } else {
      dataInfos = des.encrypt(JSON.stringify(data), "98fbffd1064a4355b8abaacb6fa96f94");
    }
    // 2、header的处理
    const headerObj = {
      "Content-Type": 'application/json',
      'Blade-Auth': `bearer ${wx.getStorageSync('jf_token')}`,
      'Authorization': "Basic c2FiZXI6c2FiZXJfc2VjcmV0"
    }

    // const timestamp = new Date().getTime()
    // const nonce = 'c2FiZXI6c2FiZXJfc2VjcmV0'
    // const signature = CryptoJS.SHA1(timestamp + nonce + {})
    // console.log(signature, 'signature')

    wx.request({
      url: baseUrl + url,
      data: dataInfos,
      method: method,
      header: { ...headerObj, ...otherHeader },
      success: (res) => {
        // console.log(res, "接口返回的结果");
        if (res.statusCode == 200) {
          if (notSecret) {
            res.data.statusCode = 200
            resolve(res.data);
          } else {
            // var data = des.decrypt(
            //   res.data.data,
            //   "98fbffd1064a4355b8abaacb6fa96f94"
            // );
            // // 判断账号是否唯一
            // // console.log(JSON.parse(data), "JSON.parse(data)");
            // if (JSON.parse(data).code == 400) {
            //   wx.removeStorageSync("token");
            //   wx.removeStorageSync("userInfo");
            //   wx.navigateTo({
            //     url: "/pages/launch_start/launch_start",
            //   });
            // }
            // resolve(JSON.parse(data));
          }
        } else {
          if (res.statusCode == 500) {
            wx.showToast({
              title: '服务器异常',
              icon: 'error'
            })
          } else if (res.statusCode == 400) {
            resolve(res);
          } else if (res.statusCode == 401) {
            // 重新登录
            // wx.removeStorageSync('jf_token')
            wx.switchTab({
              url: '/pages/shouye/shouye'
            })
          }
          reject(res.errMsg);
        }
      },
      fail: (err) => {
        reject(err);
      },
    });
  });
}

module.exports = {
  apis,
};